идиома, идиоматизм {лингв } - traduzione in portoghese
Diclib.com
Dizionario ChatGPT
Inserisci una parola o una frase in qualsiasi lingua 👆
Lingua:

Traduzione e analisi delle parole tramite l'intelligenza artificiale ChatGPT

In questa pagina puoi ottenere un'analisi dettagliata di una parola o frase, prodotta utilizzando la migliore tecnologia di intelligenza artificiale fino ad oggi:

  • come viene usata la parola
  • frequenza di utilizzo
  • è usato più spesso nel discorso orale o scritto
  • opzioni di traduzione delle parole
  • esempi di utilizzo (varie frasi con traduzione)
  • etimologia

идиома, идиоматизм {лингв } - traduzione in portoghese

Swap-идиома; Идиома copy-and-swap

идиома, идиоматизм {лингв.}      
idiotismo (m), idioma (m), idiomatismo (m)

Definizione

Развесистая клюква
(ирон.) небылица, выдумка, что-либо лишенное правдоподобия. Выражение по происхождению пародийно: в нем высмеивается анекдотическое изображение русской жизни. Оно берет начало от рассказа о России, в котором малоосведомленный автор пишет, что он сидел под тенью величественной клюквы: sous l?ombre d?un klukva majetueux. По предположению исследователей, возникло в конце XIX - начале XX в.

Wikipedia

Copy-and-swap

Идиома copy-and-swap — это идиома языка программирования C++, позволяющая разрабатывать устойчивые к исключениям операторы присваивания.

Идиома базируется на идиоме «Получение ресурса есть инициализация».

Идиома предполагает реализацию следующих функций-членов класса:

  • конструктора копирования;
  • оператора присваивания;
  • метода swap, не генерирующего исключения и принимающего ссылку на объект класса.

Пример:

Устойчивость к исключениям заключается в том, что в операторе присваивания Copyable& operator=(const Copyable &) нет точки, где генерация исключения могла бы привести к утечке памяти.

Оператор присваивания сначала пытается захватить ресурс «временная копия присваиваемого объекта» (tmp) и в случае успеха меняет его содержимое с содержимым текущего объекта (this). Поскольку метод swap объявлен как не генерирующий исключения (noexcept), единственной точкой, где может возникнуть исключение, является копирование объекта _v. Если копирование не удается, то управление не доходит до метода swap, в противном случае деструктор объекта tmp освобождает ресурсы, прежде принадлежавшие текущему объекту (this) (см. идиому RAII).

Приведённая выше реализация также устойчива к присваиваниям объекта самому себе (a=a), однако содержит издержки, связанные с тем, что временная копия в этом случае тоже будет создаваться. Исключить издержки можно дополнительной проверкой:

Многие контейнеры и алгоритмы стандартной библиотеки C++ и библиотеки STL предполагают наличие устойчивого к исключениям оператора присваивания, но без использования идиомы copy-and-swap иногда довольно сложно реализовать такой оператор присваивания для классов, содержащих, например, указатели на экземпляры других классов.